{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "# 推荐系统概述\n",
    "<a id=\"orga20c096\"></a>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "## 什么是推荐系统\n",
    "-   用户在**有明确需求**的情况下，面对信息过载所采用的措施\n",
    "\n",
    "    想买一包花生米，有多少种方法？\n",
    "\n",
    "    -   24小时便利店（凭经验浏览所有货架）\n",
    "    -   超市（借用分类信息）\n",
    "    -   淘宝、京东（借助搜索引擎）\n",
    "\n",
    "-   用户**没有明确的需求**，怎么办？\n",
    "\n",
    "    想看一部电影，面对数不胜数的电影，怎么办？\n",
    "\n",
    "    -   有人推荐\n",
    "    -   **一个自动化的工具，可以分析你的历史兴趣，找符合你兴趣的电影供你选择**\n",
    "\n",
    "上述“自动化的工具”，就是 **个性化推荐系统** 。\n",
    "\n",
    "**推荐系统基本任务是联系用户和物品，解决信息过载的问题。**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<a id=\"org5758487\"></a>\n",
    "### 信息过载\n",
    "\n",
    "身处信息过载（information overload）<sup><a id=\"fnr.1\" class=\"footref\" href=\"#fn.1\">1</a></sup>的时代，人们遇到的挑战：\n",
    "\n",
    "-   **信息消费者：**如何从大量信息中找到自己感兴趣的信息是一件非常困难的事情；\n",
    "-   **信息生产者：**如何让自己生产的信息脱颖而出，受到广大用户的关注，也非常困难。\n",
    "\n",
    "推荐系统即是解决这一矛盾的重要工具。\n",
    "\n",
    "推荐系统的任务就是联系用户和信息，一方面**帮助用户发现对自己有价值的信息**，另一方面**让信息能够展现在对它感兴趣的用户面前**。<sup><a id=\"fnr.2\" class=\"footref\" href=\"#fn.2\">2</a></sup>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<a id=\"orga787e7b\"></a>\n",
    "### 分类目录\n",
    "\n",
    "将著名的网站分门别类，从而方便用户根据类别查找网站。随着互联网规模的扩大，其只能覆盖少量的热门网站，不能满足用户的需求。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<a id=\"orge70b800\"></a>\n",
    "### 搜索引擎\n",
    "让用户通过 **关键词** 找到自己需要的信息，但需要用户主动提供准确的关键词来寻找信息，当用户无法找到准确描述自己需求的关键词时，搜索引擎便无能为力了。\n",
    "\n",
    "推荐系统不需要用户提供明确的需求，而是通过分析用户的历史行为给用户的兴趣建模，从而主动给用户推荐能够满足其兴趣和需求的信息。\n",
    "\n",
    "推荐系统和搜索引擎对于用户来说是两个互补的工具。搜索引擎满足了用户有明确目的时的主动查找需求，而推荐系统能够在用户没有明确目的的时候帮助他们发现感兴趣的新内容。\n",
    "\n",
    "从物品的角度出发，推荐系统可以更好地发掘物品的长尾（long tail）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<a id=\"orgca07f7c\"></a>\n",
    "### 长尾理论\n",
    "\n",
    "传统的80/20原则（80%的销售额来自于20%的热门品牌）在互联网的加入下会受到挑战。互联网条件下，由于货架成本极端低廉，电子商务网站往往能出售比传统零售店更多的商品。虽然这些商品绝大多数都不热门，但与传统零售业相比，这些不热门的商品数量极其庞大，因此这些长尾商品的总销售额将是一个不可小觑的数字，也许会超过热门商品(即主流商品) 带来的销售额。主流商品往往代表了绝大多数用户的需求，而长尾商品往往代表了一小部分用户的个性化需求。\n",
    "\n",
    "因此，如果要通过发掘长尾提高销售额，就必须 **充分研究用户的兴趣** ，而这正是个性化推荐系统主要解决的问题。推荐系统通过发掘用户的行为，找到用户的个性化需求，从而将长尾商品准确地推荐给需要它的用户，帮助用户发现那些他们感兴趣但很难发现的商品。\n",
    "\n",
    "互联网数据分布满足一种称为 **PowerLaw** 分布<sup><a id=\"fnr.3\" class=\"footref\" href=\"#fn.3\">3</a></sup>\n",
    "\n",
    "\\begin{equation}\n",
    "f (x) = \\alpha x^k   \\nonumber\n",
    "\\end{equation}\n",
    "\n",
    "如果 $k<0$ ，就可以得到下面的图形：\n",
    "\n",
    "![img](../recsys_images/640px-Long_tail.svg.png)\n",
    "\n",
    "PowerLaw还有好几种变形，最著名的就是 Zipf's law<sup><a id=\"fnr.4\" class=\"footref\" href=\"#fn.4\">4</a></sup>与 Pareto Distribution。\n",
    "\n",
    "现实社会中用户面对很多选择做决定的过程：\n",
    "\n",
    "-   社会化推荐（social recommendation），即让好友给自己推荐物品\n",
    "-   基于内容的推荐（content-based recommendation）\n",
    "-   找到和自己历史兴趣相似的一群用户，看看他们的选择，这种方式称之为基于协同过滤（collaborative filtering）的推荐\n",
    "\n",
    "**推荐算法的本质是通过一定的方式将用户和物品联系起来。**\n",
    "\n",
    "推荐系统就是自动联系用户和物品的一种工具，它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息，也能将信息推送给对它们感兴趣的用户。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "<a id=\"org209e94b\"></a>\n",
    "## 个性化推荐系统的应用\n",
    "\n",
    "个性化推荐系统需要依赖用户的行为数据，因此一般都是作为一个应用存在于不同网站之中。\n",
    "\n",
    "个性化推荐系统的标准用户界面：\n",
    "\n",
    "![img](../recsys_images/amazon_rec_pane.png)\n",
    "\n",
    "-   推荐结果的标题、缩略图以及其他内容属性（推荐的是什么）\n",
    "-   推荐结果的平均分（反应了推荐结果的总体质量）\n",
    "-   推荐理由（出于隐私的考虑，可允许用户禁用推荐理由）\n",
    "\n",
    "个性化推荐系统在这些网站中的主要作用是通过分析大量用户行为日志，给不同用户提供不同的个性化页面展示，来提高网站的点击率和转化率。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   电子商务\n",
    "\n",
    "    亚马逊：个性化商品推荐列表、相关商品推荐列表（包含购买和浏览不同用户行为来计算物品相关性，最重要的应用是 **打包销售** ）\n",
    "\n",
    "    ![img](../recsys_images/amazon_packaging_sale.png)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   电影和视频网站\n",
    "    -   Netflix\n",
    "    -   YouTube\n",
    "    -   Hulu\n",
    "    -   优酷\n",
    "    -   爱奇艺\n",
    "    -   腾讯视频"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   个性化音乐网络电台\n",
    "    -   Pandora（音乐基因工程，专家标注）\n",
    "    -   Last.fm（记录用户听歌记录及对歌曲的反馈）\n",
    "    -   豆瓣电台\n",
    "\n",
    "    特点：都不允许用户点歌，而是给用户几种反馈方式——喜欢、不喜欢和跳过。经过用户一定时间的反馈，电台就可以从用户的历史行为中习得用户的兴趣模型，从而使用户的播放列表越来越符合用户对歌曲的兴趣。\n",
    "\n",
    "    音乐推荐特点：\n",
    "\n",
    "    -   物品空间大\n",
    "    -   消费每首歌的代价很小\n",
    "    -   物品种类丰富\n",
    "    -   听一首歌耗时很少\n",
    "    -   物品重用率很高\n",
    "    -   用户充满激情\n",
    "    -   上下文相关\n",
    "    -   次序很重要\n",
    "    -   很多播放列表资源\n",
    "    -   高度社会化（好友分享）\n",
    "\n",
    "    音乐是一种非常适合用来推荐的物品，音乐推荐可以支持独立的个性化推荐网站。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   社交网络\n",
    "\n",
    "    个性化推荐主要应用在3个方面：\n",
    "\n",
    "    -   利用用户的社交网络信息对用户进行个性化的物品推荐\n",
    "    -   信息流的会话推荐\n",
    "    -   给用户推荐好友\n",
    "\n",
    "    最宝贵两个数据：一是用户之间的社交网络关系，另一个是用户的偏好信息。\n",
    "\n",
    "    -   Facebook\n",
    "    -   Twitter\n",
    "    -   微博\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   个性化阅读\n",
    "    -   今日头条\n",
    "    -   Digg"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   基于位置的服务\n",
    "\n",
    "    往往和社交网络结合在一起。\n",
    "\n",
    "    -   Foursquare\n",
    "    -   街旁\n",
    "    -   美团\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   个性化邮件\n",
    "    - Gmail优先级收件箱\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "-   个性化广告\n",
    "\n",
    "    广告是互联网公司生存的根本，广告的CPC（Cost Per Click，按点击付费）、 CPM（Cost Per Thousand Impressions，按千次显示付费）直接决定很多互联网公司的收入。\n",
    "\n",
    "    广告定向投放（Ad Targeting），如何将广告投放给它的潜在客户群。个性化广告投放——计算广告学。\n",
    "\n",
    "    个性化推荐着重于帮助用户找到可能令他们感兴趣的物品，而 **广告推荐着重于帮助广告找到可能对它们感兴趣的用户** ，一个是以用户为核心，另一个是以广告为核心。\n",
    "\n",
    "    目前的个性化广告投放技术：\n",
    "\n",
    "    -   上下文广告（Google Adsense）\n",
    "    -   搜索广告\n",
    "    -   个性化展示广告（雅虎）\n",
    "\n",
    "    Facebook因为拥有大量的用户个人资料，可以很容易地获取用户的兴趣，让广告商选择自己希望对其投放广告的用户。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ein.tags": "worksheet-0",
    "slideshow": {
     "slide_type": "-"
    }
   },
   "source": [
    "## 脚注\n",
    "\n",
    "<sup><a id=\"fn.1\" class=\"footnum\" href=\"#fnr.1\">1</a></sup> 参见<https://en.wikipedia.org/wiki/Information_overload>。\n",
    "\n",
    "<sup><a id=\"fn.2\" class=\"footnum\" href=\"#fnr.2\">2</a></sup> 后面将信息统称为“物品”，即可以供用户消费的东西。\n",
    "\n",
    "<sup><a id=\"fn.3\" class=\"footnum\" href=\"#fnr.3\">3</a></sup> 亦称 **长尾分布** ， References:\n",
    "\n",
    "-   <del>[淺談網路世界的Power Law現象〈一〉── 什麼是Power Law](http://mmdays.com/2008/11/22/power_law_1/)</del>\n",
    "-   <del>[淺談網路世界的Power Law現象〈二〉── 從長尾理論回看台灣唱片業興衰](http://mmdays.com/2008/11/24/power_law_2/)</del>\n",
    "-   <del>[淺談網路世界的Power Law現象〈三〉── 書籤網站中的Power Group](http://mmdays.com/2008/12/02/power_law_3/)</del>\n",
    "-   <del>[淺談網路世界的Power Law現象〈四〉── P2P軟體世界中的神人玩家](http://mmdays.com/2008/12/10/power_law_4/)</del>\n",
    "\n",
    "<sup><a id=\"fn.4\" class=\"footnum\" href=\"#fnr.4\">4</a></sup> 在自然语言的语料库里，一个单词出现的频率与它在频率表里的排名成反比。如果将单词出现的频率按照由高到低排列，则每个单词出现的频率和它在热门排行榜中排名的常数次幂成反比。在英文中大部分词的词频其实很低，只有很少的词被经常使用。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "name": "1-recsys-intro.ipynb",
  "toc": {
   "colors": {
    "hover_highlight": "#ddd",
    "running_highlight": "#FF0000",
    "selected_highlight": "#ccc"
   },
   "moveMenuLeft": true,
   "nav_menu": {
    "height": "161px",
    "width": "252px"
   },
   "navigate_menu": true,
   "number_sections": false,
   "sideBar": true,
   "threshold": 4,
   "toc_cell": false,
   "toc_section_display": "block",
   "toc_window_display": false,
   "widenNotebook": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
